package com.frank.subject.domain.handler.subject;

import com.frank.subject.common.enums.SubjectInfoTypeEnum;
import com.frank.subject.domain.entity.SubjectAnswerBo;
import com.frank.subject.domain.entity.SubjectInfoBo;
import com.frank.subject.domain.entity.SubjectOptionBo;

/**
 * @author Frank Zou
 * @version v0.0.1
 * @date 2024/1/25 2:09 PM
 * @description 题目类型策略类接口
 */
public interface SubjectTypeHandler {

    /**
     * 枚举身份识别
     *
     * @return type
     */
    SubjectInfoTypeEnum getHandlerType();

    /**
     * 实际的题目插入方法
     *
     * @param subjectInfoBO subjectInfo
     */
    void add(SubjectInfoBo subjectInfoBO);

    /**
     * 查询题目详情
     *
     * @param subjectId subjectId
     */
    SubjectOptionBo query(Long subjectId);
}
